home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
BARNET
/
FREENET
/
CHAMBERS
/
FREEPING
/
!FreePing
/
!Help
< prev
next >
Wrap
Text File
|
1998-04-19
|
5KB
|
106 lines
=== !FreePing Help File
Motivation
If you do not know what "ping" is or how to use it stop now. You will
be wasting your time.
I wanted to have an implementation of ping which did not lock up the
WIMP even in a TaskWindow. I do not care about flood functions or anything
much to do with ethernets. I just wanted to check if nodes are up and how long
packets take to make a round trip because the internet is so flaky and changes
so much that *something* is always down.
Health Warning
!FreePing is blacksmithed code. It is ancient code from the days of UNIX soldered
onto a pedagogical RISC-OS application using a collection of freeware libraries.
The building is done with Acorn Desktop C version 4. It probably should be done
with Toolbox and C++ (or Java and JDK-Classlib or Ada95 and an old windsock).
But it isn't because I will not pay money for something cobbled together with
cfront - neither at work and certainly not at home.
It works. On my machine using Internet 5.02 with RO3.70. If it does not work
for you remember the advice from Zen and the Art of Motorcycle maintenence,
"For assembling the item great peace of mind is required."
It it fails you then given the nature of pinging you are probably using
a stressed system. If you are going to write a problem report to the e-mail
at the bottom of the helpfile then decide if you have the time to re-run
a test in a calmer state of mind and log the results OR hey, maybe it's
not worth bothering. It's free and you probably want to do what you were
doing when it went wrong. !FreePing is supplied "as is" and is not warranted
to function on any particular machine. Also using !FreePing does not imply
any liability for consequential damages.
Copyright
The software !FreePing is Copyright © Peter Chambers 1998.
Certain parts and libraries have copyrights from other authors whose
copyright does not preclude inclusion.
!FreePing is FREEWARE and may be used by anyone. It may be distributed
freely by non-profit means. If a fee is charged for copying it that fee
must be strictly to cover the costs of the copying process. All copying
and distribution must be of the whole software including all relevent
notices, credits and documentation.
It must not be sold for commercial gain or distributed as part of a
"cover disc" or profit making software library without the permission of
the author. In the interests of users distribution by on-line means is
preferred and attempts will be made to ensure the latest version is available
on-line.
Credits
The basic function of !FreePing is based on the NetBSD ping.c ported to RISC-OS
by Tom Hughes who seems to have written much of the RISC-OS freeware starting
with FreeNet (though others are now following his sterling example).
The application skeleton is based (a lot!) on Client_Ex by Duncan Ferguson.
Duncan took the attitude that other authors could make what they wanted of it.
I used it to learn how to hack network applications under a dozy GUI. Thanks.
The look'n'some'of'feel and the sprites come from !Ping by Tim Howarth which
is a front end for the command line ping. I lifted the idea of the Most Recently Used
hostnames from !Ping. Tim encouraged me to just get on with it and replace !Ping
with !FreePing in the interests of the users. He also strongly advocated using BASIC
as the size of the runimage is small. Even with the Best Basic In The World I had to
write it in C as the sight of lines like "block!8=&0700008" brings on the red mist.
Tim also changed the Templates to be a bit neater.
The next layer down is the ShellLib by Julian Smith which I needed for the output
window. This uses DeskLib also by Julian. He took the same helpful attitude as
the others are replied promptly to my news plea when I found that DeskLib had
no "txt" element. One day the ghosts of RiscOS-lib will be finally laid.
Until that time free libraries like this which have what programmers actually
use will be our stopgap.
The network interface is provided by NetLib which has the names of Andy Mell
and Stewart Brodie in it's credits. Long ago they tried to explain to me why RiscOS
cannot use "close()" for sockets. Stewart used the word "disjoint" to explain.
This does not detract from the immense value they have given Acorn programmers
in NetLib. Since it matches the interface is Comer and Stevens straight from
the box that's the one that got used. I gather that Adam Goodfellow did the
"gettimeofday()" function which cannot quite guarantee the microseconds so
the time results get granularised in the code (which should always have been
possible).
History
0.05 First open beta release.
0.04 Properly fixed re-init of timing variables, trimmed wimpslot.
0.03 Added text window save function in menu.
0.02 Changed templates (courtesy T.Houghton), fixed close gadget,
removed blank line at end of !Run.
0.01 improved LRU code, added timing granularity, tried close on textwin (failed)
0.00 First written with basic functionality. Not released yet.
Author
Peter Chambers mailto: freeping@hightown.demon.co.uk